package com.hzncc.flowable_diboot.project_contracts.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
* 项目类合同变更 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-09-24
* Copyright © MyCorp
*/

@TableName("mdl_project_contract_update")
@Getter @Setter @Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class ProjectContractUpdate extends BaseModel {
    private static final long serialVersionUID = 1586515169619106500L;

    /**
     * 租户
     */
    @NotNull(message = "租户不能为空")
    @TableField()
    private String tenantId;

    /**
     * 发货情况
     */
    @TableField()
    private String shippingStatus;

    /**
     * 开票情况
     */
    @TableField()
    private String inVoicingStatus;

    /**
     * 更改类型
     */
    @TableField()
    private String changeType;

    /**
     * 变更原因
     */
    @Length(max=500, message="变更原因长度应小于500")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String changeReason;

    /**
     * 申请人
     */
    @TableField()
    private String applicant;

    /**
     * 日期
     */
    @TableField()
    private LocalDateTime applicanDate;

    /**
     * 项目类合同id
     */
    @TableField()
    private String contractId;

    /**
     * 审核附件
     */
    @TableField
    private String auditAttachment;

}